1. Field of the Invention
The present invention relates to a multicast packet processing apparatus and a method of processing where both multicast packet forwarding and packet duplication can be achieved by the same forwarding apparatus leading to a simplified process as well as an enhanced processing rate.
2. Description of the Related Art
Internet transmission involves transmitters and receivers, each of which can be classified into unicast, multicast and broadcast transmission devices. Unicast transmission involves a single transmitter that transmits data to a single receiver. Unicast transmission has been adopted by all common Internet application programs. Broadcast transmission involves a single transmitter that transmits data to all receivers in the same sub-network. Multicast transmission is where one transmitter transmits data to at least one receiver. Multicast transmission is often used for Internet video conferencing.
When a transmitter attempts to transmit the same data to a plurality of receivers for group-communication according to unicast transmission, the transmitter must repeatedly transmit the same data packet subject to each of a plurality of receivers. Such repeated transmission of the same packet deteriorates network efficiency. The seriousness of the problem of deteriorated network efficiency is in proportion to the number of receivers. When multicast transmission is supported, a transmitter has to duplicate data to ensure that the same message is transmitted to several receivers at one time. Such multicopy transmission of data tends to waste network resources.
Router equipment is classified into data plane, control plane and management plane based on their function. Each function is installed and operated in a network processor and in a host processor. When data plane operates in the network processor, a packet is forwarded to the host processor, requiring more complicated processing than either a packet forwarding function or a simple forwarding function. When either control plane or management plane operates in the host processor, a routing table is constructed via routing protocol message processing with management by an operator.
Regarding earlier techniques of multicast packet processing in a network processor, all Output InterFace (OIF) lists generally share new packet descriptors that are as numerous as the number of OIF lists. The packet descriptors are obtained by looking up information of a multicast forwarding table by using the source address and the group address of a received multicast packet, and a packet buffer corresponding thereto. As a result, processing is very complicated, especially when there are exceptional changes to the payload of the packet. Also, additional processing is needed during tunneling when a packet transmitter encapsulates/decapsulates IPv4 header information. This additional processing, in addition to being complicated, also affects the performance of the packet transmitter. Therefore, when processing an exceptional situation, such as when quality of service (QoS) and tunneling are carried out, other functions in the process pipeline may be affected, leading to many problems in general forwarding performance. Therefore, what is needed is an improved design of a forwarding unit in a router that can handle all of the above functions without being too complicated and without sacrificing general forwarding performance.